home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Wayzata's Best of Shareware PC/Windows 1
/
Wayzata's Best of Shareware for PC-Windows - Release 1 - Wayzata Technology (1993).iso
/
pc
/
windows
/
telecomm
/
wx16
/
protocol.txt
< prev
next >
Wrap
Text File
|
1992-02-07
|
5KB
|
80 lines
Excerpt from SMUG of Montreal's March 1988 Newsletter
Vol. 4 No. 5
MODEM PROTOCOLS
By: Frances Fontaine
Modem Protocols are basically a standardized set of rules used for
modem communications, which is handled by the communications program that
you are using. The protocols were set up to facilitate data transfer and
eliminate garbled communications via modem.
One of the first modem protocols for microcomputers was developed by
Ward Christensen and it is called "XMODEM".
XMODEM transmits in packets of 128 characters. After the first packet
is sent an acknowledgement of the reception of the packet has to be
received before the next packet of 128 characters can be sent. The
acknowledgement signal is one of three things, "ACK" (Acknowledge), "NAK"
(Negative Acknowledge) or Time Out which means that some of the previous
characters has not been received after a specific time period.
"ACK" means that the first packet received was alright and now the
next packet can be sent. "NAK" means that the machine on the receiving end
has detected an error in the packet and is awaiting retransmission of that
packet. Timeout can mean almost anything happened, including the "ACK"
being garbled.
Following is an explanation of how XMODEM verifies the transmission
for errors.
XMODEM transmissions start with an ASCII character "SOH" known as
Start of Header, followed by the binary representation of the packet
number. The first packet of course would be numbered 1, so the binary
representation would be "00000001". This then would be followed by the
one's compliment of the packet number. Which means that one's are changed
to zeros and zeros are changed to ones. So the compliment to one would be,
"11111110" which represents 254 or FE in hexadecimal.
Packet numbers are sent like this to check for redundancy. A binary
function known as "exclusive or" checks the bits and if the results are all
zeros then the packet number was received correctly. Then it checks to make
sure the number you get is the next one it was expecting.
Once the packet header is sent the following 128 characters are those
of the actual file being transmitted, which is then followed by an error
detection byte or bytes.
XMODEM uses the "Checksum" method of detecting errors. The checksum
simply counts up the number of 1 bits of the packet being sent, the
receiving machine then compares it's checksum with the one sent, to
determine whether or not there are errors in the data being received.
However, if there is more than one "glitch" on the phone line during
transmission the errors may even out the checksum, and get received by the
receiving machine as OK. Thereby evoking an "ACK" signal to be sent, when
in fact it was garbled in transmission.
Another method used to detect transmission errors is known as CRC
(Cumulo Redundancy Check). This is a mathematical algorithm that operates
on data to come up with a number. This number is then used as the error
detection bytes as it is 2 bytes long (16 bits), whereas the checksum is
only one byte or 8 bits long. CRC has proven to be a more effective error
detection method than the checksum method is.
The next modem protocol to come along was known as YMODEM which uses
most of XMODEM's features along with other enhancements. YMODEM transmits
packets of 1024 characters which reduces the number of packets being
transmitted and also the waiting for acknowledgments since there are fewer.
It also had a "Header Packet" which included the name of the file and the
size of the file being sent.
Following that was BATCH YMODEM which allowed a bunch of files to be
sent all at once, and also the use of "Wildcard characters".
ZMODEM incorporates all of the features from all the previous
protocols and is downwardly compatible.
Then there's a protocol which allows micros to communicate with minis
and mainframes. This protocol is known as KERMIT and was developed by
students at Columbia University of New York.
Many good communications programs available today will include one or
more of these protocols.
Some of the best communications programs on the market today are to be
found right here in SMUG of Montreal's public domain library. In MS-DOS we
have Telix, Procomm, QMODEM and PC-DIAL available from the public domain.
According to many SysOps the best communications program available is
Telix.
In CP/M we have MEX and KERMIT which are both patched or with patches
to run on the SVI-328. These are also available from SMUG of Montreal's
public domain library.
Have fun communicating with each other via modem. Try not to get too
hooked to it, as your phone bill may bare the consequences